As the value and use of information continues to increase, individuals and businesses continually seek additional ways to process and store information. One option available to users of information is an information handling system. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Many information handling systems include one or more devices that process or operate on the basis of firmware embedded in or near the device. These devices may include hard disk drives, CD-ROM drives, DVD drives, and various other devices that include controllers driven by firmware. Firmware is the program code embedded in a storage device and maintained within or near the device. The firmware for a device most often comprises the operational code for the device. Firmware is often stored in flash memory, which describes a class of memory that is erasable and is able to hold its content without power. From time to time, it may be necessary or desirable to update or upgrade the firmware of a device. A firmware upgrade may be necessary to correct errors in or improve the performance of the device. The process of updating the firmware of a device is sometimes referred to as “flashing” the device, as the firmware update program will replace the software image stored in the flash memory with a second software image.
It is difficult, if not impossible in the case of some devices, to perform a firmware update when the operating system of the computer system is operational. In an operating environment, the operating system accounts for and interacts with the devices of the computer system, thereby preventing the real-time update of the firmware of at least some devices of the computer system. Many firmware update techniques involve the step of rebooting the computer system to run a firmware update program, which is often a DOS-based program. The firmware update program is most often initiated by loading a diskette in the diskette drive of the computer system. When the computer system is booted, the boot order rules of the computer system will typically provide that the diskette drive has a higher boot priority than the hard drive of the computer system. When initiated, following a boot of the computer system, the firmware update program identifies the firmware image, loads that image on the device, and initiates another boot of the computer system. Following the second boot of the computer system, the firmware of the device is updated. One difficulty of using a diskette as the source of the firmware update program and the new firmware image is that many computer systems no longer include 3.5″ floppy drives. Although placing the firmware update program and the firmware image on a CD-ROM disk or a DVD disk is an option, it would not be possible both to boot from CD-ROM drive or DVD drive while also updating the firmware of the CD-ROM drive or DVD drive.